package com.example.admin.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.admin.entity.SysUser;
import com.example.admin.model.dto.PasswordDTO;
import com.example.admin.model.dto.SysUserRequest;
import com.example.admin.model.dto.UserDTO;

public interface UserService {
    IPage<SysUser> getUserPage(SysUserRequest request);
    
    void addUser(UserDTO userDTO);
    
    void updateUser(UserDTO userDTO);
    
    void deleteUser(Long id);
    
    void resetPassword(Long id);

    SysUser getCurrentUser();

    void updateProfile(UserDTO userDTO);

    void updatePassword(PasswordDTO passwordDTO);

    SysUser getUserById(Long id);
} 